package types

import "gorm.io/datatypes"

type ShortVideoCreateReq struct {
	Source        string   `json:"source" validate:"required"`
	SourceId      string   `json:"source_id" validate:"required"`
	CategoryId    int64    `json:"category_id"`
	Title         string   `json:"title" validate:"required"`
	Cover         string   `json:"cover"`
	Remark        string   `json:"remark"`
	Author        string   `json:"author" validate:"required"`
	PlayUrl       string   `json:"play_url"`
	Tags          []string `json:"tags"`
	SellingPoints string   `json:"selling_points"`
	IsVertical    bool     `json:"is_vertical"`
}

type ShortVideoUpdateReq struct {
	CategoryId    int64    `json:"category_id"`
	Title         string   `json:"title" validate:"required"`
	Cover         string   `json:"cover"`
	Remark        string   `json:"remark"`
	Author        string   `json:"author" validate:"required"`
	PlayUrl       string   `json:"play_url"`
	Tags          []string `json:"tags"`
	SellingPoints string   `json:"selling_points"`
	IsVertical    bool     `json:"is_vertical"`
}

type ShortVideoListReq struct {
	Id            int64          `json:"id"`
	Source        string         `json:"source" validate:"required"`
	SourceId      string         `json:"source_id" validate:"required"`
	CategoryId    int64          `json:"category_id"`
	Title         string         `json:"title" validate:"required"`
	Cover         string         `json:"cover"`
	Author        string         `json:"author"`
	PlayUrl       string         `json:"play_url"`
	Tags          datatypes.JSON `json:"tags"`
	SellingPoints string         `json:"selling_points"`
	IsVertical    bool           `json:"is_vertical"`
	Status        int            `json:"status"`
}

type ShortVideoInfoResp struct {
	Source        string   `json:"source" validate:"required"`
	SourceId      string   `json:"source_id" validate:"required"`
	CategoryId    int64    `json:"category_id"`
	Title         string   `json:"title" validate:"required"`
	Cover         string   `json:"cover"`
	Remark        string   `json:"remark"`
	Author        string   `json:"author"`
	PlayUrl       string   `json:"play_url"`
	Tags          []string `json:"tags"`
	SellingPoints string   `json:"selling_points"`
	IsVertical    bool     `json:"is_vertical"`
}
